package me.firstapp.service.system;

import java.util.Map;

import me.firstapp.common.utils.Page;
import me.firstapp.module.system.EmailConfig;

public interface EmailConfigService {

	/**
	 * 查询api客户邮件配置
	 * 
	 * @param apiClientId
	 * @param status
	 * @return
	 */
	EmailConfig findByApiClientIdAndStatus(Long apiClientId, Integer status);

	/**
	 * 新增api客户邮件配置
	 * 
	 * @param apiClientId
	 * @param apiUrl
	 * @param apiUser
	 * @param apiKey
	 * @param mailFrom
	 * @return
	 */
	EmailConfig addEmailConfig(Long apiClientId, String apiUrl, String apiUser, String apiKey, String mailFrom);

	/**
	 * 更新api客户邮件配置
	 * 
	 * @param id
	 * @param apiClientId
	 * @param apiUrl
	 * @param apiUser
	 * @param apiKey
	 * @param mailFrom
	 * @param status
	 * @return
	 */
	EmailConfig updateEmailConfig(Long id, Long apiClientId, String apiUrl, String apiUser, String apiKey,
			String mailFrom, Integer status);

	/**
	 * 分页查询api客户邮件配置
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @param searchParams
	 * @param sortParam
	 * @param sortType
	 * @param apiClientId
	 * @return
	 */
	Page<EmailConfig> findEmailConfigPage(Integer pageNo, Integer pageSize, Map<String, Object> searchParams,
			String sortParam, String sortType, Long apiClientId);

	/**
	 * 删除
	 * 
	 * @param ids
	 *            多个id时用","隔开
	 */
	void deleteSections(String ids, Long apiClientId);

	/**
	 * 通过id查询api客户邮件配置
	 * 
	 * @param id
	 * @param apiClientId
	 * @return
	 */
	EmailConfig findById(Long id, Long apiClientId);

}
